// ----------------------------------
// RSDK Project: Sonic 1/Sonic 2
// Script Description: Bullet Object
// Script Author: Christian Whitehead/Simon Thomley
// Unpacked by Rubberduckycooly's script unpacker
// ----------------------------------

//-------Aliases-------//
private alias 18 : TYPE_BULLET


// Static Values

// Tables

reserve BulletKill

function BulletKill	
	ResetObjectEntity(object.entityPos, TypeName[Blank Object], 0, object.xpos, object.ypos)
	Rand(checkResult, 32)
	if checkResult > 15
		CreateTempObject(animalType1, TypeName[Blank Object], object.xpos, object.ypos)
	else
		CreateTempObject(animalType2, TypeName[Blank Object], object.xpos, object.ypos)
	end if
	object[tempObjectPos].priority = PRIORITY_UNKNOWN
	CreateTempObject(TypeName[Smoke Puff], 0, object.xpos, object.ypos)
	object[tempObjectPos].drawOrder = 4
	CreateTempObject(TypeName[Object Score], object[0].value19, object.xpos, object.ypos)
	object[tempObjectPos].drawOrder = 4
	PlaySfx(SfxName[Destroy], 0)

	if stage.debugMode == 0
		saveRAM[999]++
	end if		
	switch object[0].value19
	case 0
		player.score += 100
		break
	case 1
		player.score += 200
		break
	case 2
		player.score += 500
		break
	case 3
	case 4
	case 5
	case 6
	case 7
	case 8
	case 9
	case 10
	case 11
	case 12
	case 13
	case 14
		player.score += 1000
		break
	case 15
		player.score += 0x2710
		break
	end switch
	if object[0].value19 < 15
		object[0].value19++
	end if	
end function

event ObjectMain
	object.xpos += object.xvel
	object.ypos += object.yvel
	object.value0++
	if object.value0 > 50
		object.value0 = 0
		object.type = TypeName[Blank Object]
	end if
	
	object.frame++
	object.frame %= 2
	
	if object.xvel < 0
		object.direction = FLIP_X
	end if
end event


event ObjectDraw
	DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)
end event


event ObjectStartup
	LoadSpriteSheet("Global/Items.gif")
	SpriteFrame(-20, -4, 13, 8, 118, 109)
	SpriteFrame(-20, -4, 13, 8, 118, 118)
	SpriteFrame(-20, -4, 16, 8, 132, 118)

	if sonadow.gen == 0
		sonadow.gen++
		object.MBZfixer++
	end if		
end event

event RSDKDraw
	DrawSprite(0)
end event

event RSDKLoad
	LoadSpriteSheet("Global/Display.gif")
	SpriteFrame(-16, -16, 32, 32, 1, 143)
end event
